SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.vw_AltaDeServicio
AS
SELECT DISTINCT 
    tb_Agentes.Nombres, tb_Agentes.Documento, 
    upper(rtrim(ltrim(tb_Organizaciones.Nombre))) AS Nombre, 
    tb_Localidades.localidad, 
    tb_Afiliaciones.NumeroAfiliado, 
    CASE EstaEnProcesoDeTitularizacion WHEN 'S' 
	THEN UPPER(tb_SituacionRevista.Descripcion + ' (a Titularizar)') ELSE UPPER(tb_SituacionRevista.Descripcion) END Descripcion, 
    tb_CargosSalariales.idCargo, CONVERT(varchar, tb_CargosSalariales.IdCargo) + ' - ' + tb_CargosSalariales.Cargo AS CargoDescripcion, 
    tb_ServiciosAgentes.FechaAlta, 
    tb_Normas.Descripcion AS Normas, 
    tb_SubServiciosAgentes.idSubServicio, 
    CASE tb_funciones.regimensalarial WHEN 13 
	THEN CONVERT(varchar, tb_Funciones.IdFuncion) + ' - ' + tb_Funciones.Descripcion + ' de ' + CONVERT(varchar, (SELECT SUM(sa.horas)
		      FROM tb_serviciosagentes sa INNER JOIN tb_subserviciosagentes ss ON ss.servicioagente = sa.idservicioagente INNER JOIN tb_plazas p ON p.idplaza = ss.plaza
		      WHERE sa.normaalta = tb_serviciosagentes.normaalta and ss.fechaalta = sa.fechaalta --ss.normatemporal = tb_subserviciosagentes.normatemporal
			            AND ((p.TipoDePaquete IS NOT NULL) OR
			           (p.paquete IS NULL)))) 
	+ ' horas cátedra' ELSE CONVERT(varchar, tb_Funciones.IdFuncion) + ' - ' + tb_Funciones.Descripcion END AS Cargo, 
    tb_ServiciosAgentes.Baja, DateAdd([d], 1, tb_ServiciosAgentes.FechaBaja) AS FechaBaja, 
    'Dirección General de Personal Docente' AS Nivel, 
    'EL(LA) DIRECTOR(A) DE PERSONAL DOCENTE' AS Director
FROM tb_Agentes INNER JOIN  tb_ServiciosAgentes ON tb_Agentes.idAgente = tb_ServiciosAgentes.Agente 
INNER JOIN tb_SubServiciosAgentes ON tb_ServiciosAgentes.idServicioAgente = tb_SubServiciosAgentes.ServicioAgente
LEFT OUTER JOIN tb_CargosSalariales ON tb_ServiciosAgentes.CargoSalarial = tb_CargosSalariales.idCargo 
INNER JOIN tb_SituacionRevista ON tb_ServiciosAgentes.SituacionRevista = tb_SituacionRevista.idSituacionRevista
INNER JOIN tb_Plazas ON tb_Plazas.idPlaza = tb_SubServiciosAgentes.Plaza 
LEFT OUTER JOIN tb_Normas ON tb_ServiciosAgentes.NormaAlta = tb_Normas.idNorma 
INNER JOIN tb_Organizaciones ON tb_Organizaciones.idOrganizaciones = tb_Plazas.Organizacion 
INNER JOIN tb_suborganizaciones ON tb_Organizaciones.idorganizaciones = tb_suborganizaciones.org
LEFT OUTER JOIN tb_Afiliaciones ON tb_Agentes.idAgente = tb_Afiliaciones.idAgente 
INNER JOIN tb_Localidades ON tb_Localidades.idLocalidad = tb_Organizaciones.Localidad 
INNER JOIN tb_Funciones ON tb_Plazas.Funcion = tb_Funciones.idFuncion
LEFT OUTER JOIN tb_Plazasdemovimiento pl ON pl.servicio = tb_subserviciosagentes.idsubservicio
WHERE (tb_SubServiciosAgentes.FechaAlta = tb_ServiciosAgentes.FechaAlta)
     AND Organismo = 1









GO
GRANT SELECT ON  [dbo].[vw_AltaDeServicio] TO [SoloVer]
GO
